package de.dailab.prefgen;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

public class ObjectAnnotations {

	/**
	 * Describes the input Value, which will be used in the Dialog Description
	 * @author joecks
	 *
	 */
	@Retention(RetentionPolicy.RUNTIME)
	@Target(ElementType.METHOD)
	public @interface ValueDescription{
		String value();
	}
	
	/**
	 * Limits the imput Value so we  might display a slider
	 * 
	 * @author joecks
	 *
	 */
	@Retention(RetentionPolicy.RUNTIME)
	@Target(ElementType.METHOD)
	public @interface ValueLimitations {
		int max();
		int min();
	}
	
	
	/**
	 * Describes the method Dependencies so we can disable unused fields
	 * 
	 * No idea how
	 * 
	 * @author joecks
	 *
	 */
	@Retention(RetentionPolicy.RUNTIME)
	@Target(ElementType.METHOD)
	public @interface Dependency {
		
	}
	
	/**
	 * This describes the Default Value to Display for a Collection Value
	 * 
	 * @author joecks
	 *
	 */
	@Retention(RetentionPolicy.RUNTIME)
	@Target(ElementType.METHOD)
	public @interface DefaultValue {
		
	}
	

}
